#ifndef __CAMERAUTITLITY_H__
#define __CAMERAUTITLITY_H__

#include "RenderingSys/Camera.h"

namespace GCRE {
	namespace Rendering {
		class CameraUtitlity {
			public:

				static void MoveForward( CCamera* pCamera, BasicType::SFFloat distance );
				static void MoveBackward( CCamera* pCamera, BasicType::SFFloat distance );
				static void MoveLeft( CCamera* pCamera, BasicType::SFFloat distance );
				static void MoveRight( CCamera* pCamera, BasicType::SFFloat distance );
				static void MoveUp( CCamera* pCamera, BasicType::SFFloat distance );
				static void MoveDown( CCamera* pCamera, BasicType::SFFloat distance );
				static void Move( CCamera* pCamera, BasicType::SFVec3f direction, BasicType::SFFloat distance );
				static void Rotate( CCamera* pCamera, BasicType::SFVec3f axis, BasicType::SFFloat rad );
				static void Roll( CCamera* pCamera, BasicType::SFFloat rad );
				static void Yaw( CCamera* pCamera, BasicType::SFFloat rad );
				static void Pitch( CCamera* pCamera, BasicType::SFFloat rad );

			protected:
			private:
				CameraUtitlity();
		};
	}
}


#endif	//	__CAMERAUTITLITY_H__